using System;
using System.Collections.Generic;
using System.Text;
using SoftwareMonkeys.LiveShift.Entities;

namespace SoftwareMonkeys.LiveShift.Business
{
    public abstract class EntityShifter : IEntityShifter
    {
        private ShiftableEntity targetEntity;
        public ShiftableEntity TargetEntity
        {
            get { return targetEntity; }
            set { targetEntity = value; }
        }

        public EntityShifter(ShiftableEntity entity)
        {
            this.targetEntity = entity;
        }

        public abstract void Shift(DateTime date);
        //{
            /*foreach (LiveProperty property in TargetEntity.Properties)
            {
                IShifter shifter = GetPropertyShifter(property);

                shifter.Shift(date);
            }*/
        //}

        /*public IShifter GetPropertyShifter(LiveProperty property)
        {
            if (property is ExpandingProperty<decimal>)
            {
                return new PropertyExpansionShifter((ExpandingProperty<decimal>)property);
            }

            return null;
        }*/
    }
}
